package com.xyy.saas.payment.adpater.pingxx.constants;

/**
 * 详细介绍：https://www.pingxx.com/api/Refunds%20%E9%80%80%E6%AC%BE%E6%A6%82%E8%BF%B0
 * @author chenshuyi
 * @date 2019/10/24 14:06
 */
public interface RefundConstants {

    /**类型：string；退款对象 id，由 Ping++ 生成，27 位长度字符串。 */
    public static String ID = "id";

    /**类型：string；值为 "refund"。 */
    public static String OBJECT = "object";

    /**类型：string；退款的订单号，由 Ping++ 生成。 */
    public static String ORDER_NO = "order_no";

    /**综述：类型：int；退款金额大于 0，单位为对应币种的最小货币单位，例如：人民币为分（如退款金额为 1 元，此处请填 100）。 */
    /**入参：类型：optional,int；退款金额大于 0, 单位为对应币种的最小货币单位，例如：人民币为分（如退款金额为 1 元，此处请填 100）。必须小于等于可退款金额，默认为全额退款。 */
    public static String AMOUNT = "amount";

    /**类型：timestamp；退款创建的时间，用 Unix 时间戳表示。 */
    public static String CREATED = "created";

    /**类型：boolean；退款是否成功。 */
    public static String SUCCEED = "succeed";

    /**类型：string；退款状态（目前支持三种状态: pending: 处理中; succeeded: 成功; failed: 失败）。 */
    public static String STATUS = "status";

    /**类型：timestamp；退款成功的时间，用 Unix 时间戳表示。 */
    public static String TIME_SUCCEED = "time_succeed";

    /**综述：类型：string；退款详情。
     * 入参：类型：string；退款详情，最多 255 个 Unicode 字符。针对 cmb_wallet & cmb_pc_qr 渠道最多支持 99 字节；针对 jdpay_wap 渠道最多支持 128 字节；针对 paypal 渠道最多支持 30 字节；针对 coolcredit 渠道最多支持 100 Unicode 字符。
     * */
    public static String DESCRIPTION = "description";

    /**类型：string；退款的错误码，详见错误中的错误码。 */
    public static String FAILURE_CODE = "failure_code";

    /**类型：string；退款消息的描述。 */
    public static String FAILURE_MSG = "failure_msg";

    /**类型：hash；参考元数据。 */
    /**入参：类型：optional,hash；参考元数据。 */
    public static String METADATA = "metadata";

    /**类型：string；refund 对象的所在 charge 对象的 id。 */
    public static String CHARGE = "charge";

    /**类型：string；商户订单号，这边返回的是 charge 对象中的 order_no 参数。 */
    public static String CHARGE_ORDER_NO = "charge_order_no";

    /**类型：string；支付渠道返回的交易流水号，部分渠道返回该字段为空。 */
    public static String TRANSACTION_NO = "transaction_no";

    /**类型：string；微信及 QQ 类退款资金来源。取值范围：unsettled_funds：使用未结算资金退款；recharge_funds：微信-使用可用余额退款，QQ-使用可用现金账户资金退款。注：默认值 unsettled_funds，该参数对于微信渠道的退款来说仅适用于微信老资金流商户使用，包括 wx、wx_pub、wx_pub_qr、wx_lite、wx_wap、wx_pub_scan 六个渠道；新资金流退款资金默认从基本账户中扣除。该参数仅在请求退款，传入该字段时返回。 */
    public static String FUNDING_SOURCE = "funding_source";

    /**综述：类型：hash；退款成功时额外返回的渠道信息。目前支持显示wx、wx_pub、wx_pub_qr、wx_lite、wx_wap、wx_pub_scan、cb_alipay、cb_alipay_wap、cb_alipay_pc_direct渠道以及自定义渠道 custom 的返回信息。详情见下方 extra 参数说明。
     * 入参：类型：conditional；退款 extra 参数。split_fund_info 参数仅在使用 cb_alipay、cb_alipay_wap、cb_alipay_pc_direct 渠道时，需要按分账列表进行退款时传入，详见下方 extra 参数说明；rate、refund_amount 参数仅在使用 cb_alipay_qr、cb_alipay_scan 渠道时需要传入。
     * */
    public static String EXTRA = "extra";

    /**类型：string；支付 charge 对象的 id，该参数仅需要填写在请求地址内。 */
    public static String CHARGE_ID = "CHARGE_ID";


}
